package com.pashanhoo.jvm;

/*** 非主动使用类字段演示 **/
//对于静态字段， 只有直接定义这个字段的类才会被初始化，
// 因此通过其子类来引用父类中定义的静态字段，只会触发父类的初始化而不会触发子类的初始化。
// 至于是否要触发子类的加载和验证阶段，在《Java虚拟机规 范》中并未明确规定，
// 所以这点取决于虚拟机的具体实现
public class NotInitialization {
    public static void main(String[] args) {
        //1.
        //System.out.println(SubClass.value);

        //2.
        //。但是这段代码里面触发了 另一个名为“[Lorg.fenixsoft.classloading.SuperClass”的类的
        // 初始化阶段，对于用户代码来说，这并不是 一个合法的类型名称，
        // 它是一个由虚拟机自动生成的、直接继承于java.lang.Object的子类，
        // 创建动作由 字节码指令newarray触发。
        //SuperClass[] sca = new SuperClass[10];

        //3.

    }
}